<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en"><head>
    <title>love.forte.simbot.common.annotations (docName 0.0.1)</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="dc.created" content="2020-03-25">
    <link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
    <link rel="stylesheet" type="text/css" href="../jquery/jquery-ui.css" title="Style">
    <script type="text/javascript" src="../jquery/jquery-3.3.1.js"></script>
    <script type="text/javascript" src="../jquery/jquery-migrate-3.0.1.js"></script>
    <script type="text/javascript" src="../jquery/jquery-ui.js"></script>

    <script type="text/javascript" src="../search.js"></script>
    <script async type="text/javascript" src="../module-search-index.js"></script>
    <script async type="text/javascript" src="../package-search-index.js"></script>
    <script async type="text/javascript" src="../type-search-index.js"></script>
    <script async type="text/javascript" src="../member-search-index.js"></script>
    <script async type="text/javascript" src="../tag-search-index.js"></script>
</head><body>
<script type="text/javascript"><!--
try {
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title = "adaptation (terrain-generator 0.0.1 API)";
    }
} catch (err) {
}
//-->
var pathtoroot = "../";
</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript><header role="banner">
    <nav role="navigation">
        <div class="fixedNav">
            <!-- ========= START OF TOP NAVBAR ======= -->
            <div class="topNav"><a id="navbar.top">
                <!--   -->
            </a>
                <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a>
                </div>
                <a id="navbar.top.firstrow">
                    <!--   -->
                </a>
                <ul class="navList" title="Navigation">
    <li><a href="../index.html">Overview</a></li>
    
    <li class="navBarCell1Rev">Package</li>
    
    <li>Class</li>
    
    <li><a href="package-tree.html">Tree</a></li>
    
    <li>Deprecated</li>
    <li>Index</li>
    <li>Help</li>
</ul></div>
            <div class="subNav">
<ul class="navList" id="allclasses_navbar_top" style="display: block;">
<li><a href="../allclasses.html">All&nbsp;Classes</a></li>
</ul>

<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" class="ui-autocomplete-input" autocomplete="off" placeholder="Search">
<input type="reset" id="reset" value="reset">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div><!-- ========= END OF TOP NAVBAR ========= -->
        </div>
        <div class="navPadding">&nbsp;</div>
        <script type="text/javascript"><!--
        $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
        //-->
        </script>
    </nav>
</header>
<main role="main">
    <div class="header">
        <h1 title="Package" class="title">love.forte.simbot.common.annotations 0.0.1 API</h1>
    </div>
        <div class="header">
            <div class="subtitle">
                <div class="block"></div>
            </div>
            <p>See: <a href="#overview_description">Description</a></p>
        </div>
    <div class="contentContainer">
        
            <ul class="blockList">
                
                <li class="blockList">
                    
                    
                    
                    
                    
    <div class="typeSummary">

<table>
<caption><span>Annotation Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Annotation</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>

    <tr class="altColor"><th class="colFirst" scope="row"><a href=MainListenerType.html>MainListenerType</a></th><td class="colLast"><a href=MainListenerType.html>MainListenerType</a> 一般标注一个 <a href=../love.forte.simbot.common.api.messages.events/MsgGet.html>MsgGet</a> 的具体子接口， 例如 <a href=../love.forte.simbot.common.api.messages.events/PrivateMsg.html>PrivateMsg</a>。被标注的接口代表了这个接口是主要用于监听的接口。 以 <a href=../love.forte.simbot.common.api.messages.events/PrivateMsg.html>PrivateMsg</a> 举例来说，<a href=../love.forte.simbot.common.api.messages.events/PrivateMsg.html>PrivateMsg</a> 继承了 <a href=../love.forte.simbot.common.api.messages.events/MessageEventGet.html>MessageEventGet</a> 接口， 而 <a href=../love.forte.simbot.common.api.messages.events/MessageEventGet.html>MessageEventGet</a> 又继承了 <a href=../love.forte.simbot.common.api.messages.events/MsgGet.html>MsgGet</a> 与 <a href=../love.forte.simbot.common.api.messages.containers/FlagContainer.html>FlagContainer</a> 。在这其中，如果你要监听一个事件, 那么最优先推荐监听最下游事件 <a href=../love.forte.simbot.common.api.messages.events/PrivateMsg.html>PrivateMsg</a> 类型而不是他的任何父接口所有的 父类监听事件类型与 主要监听事件类型 都应该是继承自 <a href=../love.forte.simbot.common.api.messages.events/MsgGet.html>MsgGet</a> 的接口类型。</td></tr>

    <tr class="rowColor"><th class="colFirst" scope="row"><a href=ParentListenerType.html>ParentListenerType</a></th><td class="colLast"><a href=ParentListenerType.html>ParentListenerType</a> 主要标记一个非 <a href=MainListenerType.html>主要监听事件类型</a> 的接口。相对于 主要监听事件类型 <span class="code">MainListenerType</span>， 父类监听事件类型是他们的父类，也是不应该优先被监听的类型。这些 父类监听事件类型 一般并非作为最下游接口，而是作为父类接口存在。 他们的存在主要是为了最下游接口提供必要的统一能力，而不是为了被监听。所有的 父类监听事件类型与 主要监听事件类型 都应该是继承自 <a href=../love.forte.simbot.common.api.messages.events/MsgGet.html>MsgGet</a> 的接口类型。</td></tr>

    <tr class="altColor"><th class="colFirst" scope="row"><a href=ContainerType.html>ContainerType</a></th><td class="colLast"><a href=ContainerType.html>ContainerType</a>主要标记一个容器类型的接口。 容器主要为了赋予实现类 可以得到某种信息 的能力，主要为了用于一些方法的参数与调用上。 但是一般来讲，不应当使用一个 容器 作为监听事件的参数或类型。</td></tr>

    <tr class="rowColor"><th class="colFirst" scope="row"><a href=SimbotDescription.html>SimbotDescription</a></th><td class="colLast">描述注解用于作为一个针对某些东西的描述标识</td></tr>
</tbody>
</table>

    </div>

                </li>
                
            </ul>
        
    </div>
</main>
<footer role="contentinfo">
    <nav role="navigation">
        <!-- ======= START OF BOTTOM NAVBAR ====== -->
        <div class="bottomNav"><a id="navbar.bottom">
            <!--   -->
        </a>
            <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a>
            </div>
            <a id="navbar.bottom.firstrow">
                <!--   -->
            </a>
            <ul class="navList" title="Navigation">
    <li><a href="../index.html">Overview</a></li>
    
    <li class="navBarCell1Rev">Package</li>
    
    <li>Class</li>
    
    <li><a href="package-tree.html">Tree</a></li>
    
    <li>Deprecated</li>
    <li>Index</li>
    <li>Help</li>
</ul></div>
        <a id="skip.navbar.bottom">
            <!--   -->
        </a></div>
        <div class="subNav">
<ul class="navList" id="allclasses_navbar_top" style="display: block;">
<li><a href="../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div><!-- ======== END OF BOTTOM NAVBAR ======= -->
    </nav>
</footer><ul class="ui-autocomplete ui-front ui-menu ui-widget ui-widget-content" id="ui-id-1" tabindex="0"
    style="display: none;"></ul>
<span role="status" aria-live="assertive" aria-relevant="additions" class="ui-helper-hidden-accessible"></span>
</body>
</html>
